#ifndef TACHYON_C_ZK_AIR_SP1_BABY_BEAR_POSEIDON2_CONSTANTS_H_
#define TACHYON_C_ZK_AIR_SP1_BABY_BEAR_POSEIDON2_CONSTANTS_H_

#include <stdint.h>

// Poseidon2 constants
#define TACHYON_PLONKY3_BABY_BEAR_POSEIDON2_WIDTH 16
#define TACHYON_PLONKY3_BABY_BEAR_POSEIDON2_ALPHA 7
#define TACHYON_PLONKY3_BABY_BEAR_POSEIDON2_FULL_ROUNDS 8
#define TACHYON_PLONKY3_BABY_BEAR_POSEIDON2_PARTIAL_ROUNDS 13

#define TACHYON_PLONKY3_BABY_BEAR_POSEIDON2_RATE 8
#define TACHYON_PLONKY3_BABY_BEAR_POSEIDON2_CHUNK 8
#define TACHYON_PLONKY3_BABY_BEAR_POSEIDON2_N 2

const uint32_t kRoundConstants[30][16] = {
    {
        UINT32_C(2110014213),
        UINT32_C(3964964605),
        UINT32_C(2190662774),
        UINT32_C(2732996483),
        UINT32_C(640767983),
        UINT32_C(3403899136),
        UINT32_C(1716033721),
        UINT32_C(1606702601),
        UINT32_C(3759873288),
        UINT32_C(1466015491),
        UINT32_C(1498308946),
        UINT32_C(2844375094),
        UINT32_C(3042463841),
        UINT32_C(1969905919),
        UINT32_C(4109944726),
        UINT32_C(3925048366),
    },
    {
        UINT32_C(3706859504),
        UINT32_C(759122502),
        UINT32_C(3167665446),
        UINT32_C(1131812921),
        UINT32_C(1080754908),
        UINT32_C(4080114493),
        UINT32_C(893583089),
        UINT32_C(2019677373),
        UINT32_C(3128604556),
        UINT32_C(580640471),
        UINT32_C(3277620260),
        UINT32_C(842931656),
        UINT32_C(548879852),
        UINT32_C(3608554714),
        UINT32_C(3575647916),
        UINT32_C(81826002),
    },
    {
        UINT32_C(4289086263),
        UINT32_C(1563933798),
        UINT32_C(1440025885),
        UINT32_C(184445025),
        UINT32_C(2598651360),
        UINT32_C(1396647410),
        UINT32_C(1575877922),
        UINT32_C(3303853401),
        UINT32_C(137125468),
        UINT32_C(765010148),
        UINT32_C(633675867),
        UINT32_C(2037803363),
        UINT32_C(2573389828),
        UINT32_C(1895729703),
        UINT32_C(541515871),
        UINT32_C(1783382863),
    },
    {
        UINT32_C(2641856484),
        UINT32_C(3035743342),
        UINT32_C(3672796326),
        UINT32_C(245668751),
        UINT32_C(2025460432),
        UINT32_C(201609705),
        UINT32_C(286217151),
        UINT32_C(4093475563),
        UINT32_C(2519572182),
        UINT32_C(3080699870),
        UINT32_C(2762001832),
        UINT32_C(1244250808),
        UINT32_C(606038199),
        UINT32_C(3182740831),
        UINT32_C(73007766),
        UINT32_C(2572204153),
    },
    {
        UINT32_C(1196780786),
        UINT32_C(3447394443),
        UINT32_C(747167305),
        UINT32_C(2968073607),
        UINT32_C(1053214930),
        UINT32_C(1074411832),
        UINT32_C(4016794508),
        UINT32_C(1570312929),
        UINT32_C(113576933),
        UINT32_C(4042581186),
        UINT32_C(3634515733),
        UINT32_C(1032701597),
        UINT32_C(2364839308),
        UINT32_C(3840286918),
        UINT32_C(888378655),
        UINT32_C(2520191583),
    },
    {
        UINT32_C(36046858),
        UINT32_C(2927525953),
        UINT32_C(3912129105),
        UINT32_C(4004832531),
        UINT32_C(193772436),
        UINT32_C(1590247392),
        UINT32_C(4125818172),
        UINT32_C(2516251696),
        UINT32_C(4050945750),
        UINT32_C(269498914),
        UINT32_C(1973292656),
        UINT32_C(891403491),
        UINT32_C(1845429189),
        UINT32_C(2611996363),
        UINT32_C(2310542653),
        UINT32_C(4071195740),
    },
    {
        UINT32_C(3505307391),
        UINT32_C(786445290),
        UINT32_C(3815313971),
        UINT32_C(1111591756),
        UINT32_C(4233279834),
        UINT32_C(2775453034),
        UINT32_C(1991257625),
        UINT32_C(2940505809),
        UINT32_C(2751316206),
        UINT32_C(1028870679),
        UINT32_C(1282466273),
        UINT32_C(1059053371),
        UINT32_C(834521354),
        UINT32_C(138721483),
        UINT32_C(3100410803),
        UINT32_C(3843128331),
    },
    {
        UINT32_C(3878220780),
        UINT32_C(4058162439),
        UINT32_C(1478942487),
        UINT32_C(799012923),
        UINT32_C(496734827),
        UINT32_C(3521261236),
        UINT32_C(755421082),
        UINT32_C(1361409515),
        UINT32_C(392099473),
        UINT32_C(3178453393),
        UINT32_C(4068463721),
        UINT32_C(7935614),
        UINT32_C(4140885645),
        UINT32_C(2150748066),
        UINT32_C(1685210312),
        UINT32_C(3852983224),
    },
    {
        UINT32_C(2896943075),
        UINT32_C(3087590927),
        UINT32_C(992175959),
        UINT32_C(970216228),
        UINT32_C(3473630090),
        UINT32_C(3899670400),
        UINT32_C(3603388822),
        UINT32_C(2633488197),
        UINT32_C(2479406964),
        UINT32_C(2420952999),
        UINT32_C(1852516800),
        UINT32_C(4253075697),
        UINT32_C(979699862),
        UINT32_C(1163403191),
        UINT32_C(1608599874),
        UINT32_C(3056104448),
    },
    {
        UINT32_C(3779109343),
        UINT32_C(536205958),
        UINT32_C(4183458361),
        UINT32_C(1649720295),
        UINT32_C(1444912244),
        UINT32_C(3122230878),
        UINT32_C(384301396),
        UINT32_C(4228198516),
        UINT32_C(1662916865),
        UINT32_C(4082161114),
        UINT32_C(2121897314),
        UINT32_C(1706239958),
        UINT32_C(4166959388),
        UINT32_C(1626054781),
        UINT32_C(3005858978),
        UINT32_C(1431907253),
    },
    {
        UINT32_C(1418914503),
        UINT32_C(1365856753),
        UINT32_C(3942715745),
        UINT32_C(1429155552),
        UINT32_C(3545642795),
        UINT32_C(3772474257),
        UINT32_C(1621094396),
        UINT32_C(2154399145),
        UINT32_C(826697382),
        UINT32_C(1700781391),
        UINT32_C(3539164324),
        UINT32_C(652815039),
        UINT32_C(442484755),
        UINT32_C(2055299391),
        UINT32_C(1064289978),
        UINT32_C(1152335780),
    },
    {
        UINT32_C(3417648695),
        UINT32_C(186040114),
        UINT32_C(3475580573),
        UINT32_C(2113941250),
        UINT32_C(1779573826),
        UINT32_C(1573808590),
        UINT32_C(3235694804),
        UINT32_C(2922195281),
        UINT32_C(1119462702),
        UINT32_C(3688305521),
        UINT32_C(1849567013),
        UINT32_C(667446787),
        UINT32_C(753897224),
        UINT32_C(1896396780),
        UINT32_C(3143026334),
        UINT32_C(3829603876),
    },
    {
        UINT32_C(859661334),
        UINT32_C(3898844357),
        UINT32_C(180258337),
        UINT32_C(2321867017),
        UINT32_C(3599002504),
        UINT32_C(2886782421),
        UINT32_C(3038299378),
        UINT32_C(1035366250),
        UINT32_C(2038912197),
        UINT32_C(2920174523),
        UINT32_C(1277696101),
        UINT32_C(2785700290),
        UINT32_C(3806504335),
        UINT32_C(3518858933),
        UINT32_C(654843672),
        UINT32_C(2127120275),
    },
    {
        UINT32_C(1548195514),
        UINT32_C(2378056027),
        UINT32_C(390914568),
        UINT32_C(1472049779),
        UINT32_C(1552596765),
        UINT32_C(1905886441),
        UINT32_C(1611959354),
        UINT32_C(3653263304),
        UINT32_C(3423946386),
        UINT32_C(340857935),
        UINT32_C(2208879480),
        UINT32_C(139364268),
        UINT32_C(3447281773),
        UINT32_C(3777813707),
        UINT32_C(55640413),
        UINT32_C(4101901741),
    },
    {UINT32_C(104929687), UINT32_C(1459980974), UINT32_C(1831234737),
     UINT32_C(457139004), UINT32_C(2581487628), UINT32_C(2112044563),
     UINT32_C(3567013861), UINT32_C(2792004347), UINT32_C(576325418),
     UINT32_C(41126132), UINT32_C(2713562324), UINT32_C(151213722),
     UINT32_C(2891185935), UINT32_C(546846420), UINT32_C(2939794919),
     UINT32_C(2543469905)},
    {
        UINT32_C(2191909784),
        UINT32_C(3315138460),
        UINT32_C(530414574),
        UINT32_C(1242280418),
        UINT32_C(1211740715),
        UINT32_C(3993672165),
        UINT32_C(2505083323),
        UINT32_C(3845798801),
        UINT32_C(538768466),
        UINT32_C(2063567560),
        UINT32_C(3366148274),
        UINT32_C(1449831887),
        UINT32_C(2408012466),
        UINT32_C(294726285),
        UINT32_C(3943435493),
        UINT32_C(924016661),
    },
    {
        UINT32_C(3633138367),
        UINT32_C(3222789372),
        UINT32_C(809116305),
        UINT32_C(30100013),
        UINT32_C(2655172876),
        UINT32_C(2564247117),
        UINT32_C(2478649732),
        UINT32_C(4113689151),
        UINT32_C(4120146082),
        UINT32_C(2512308515),
        UINT32_C(650406041),
        UINT32_C(4240012393),
        UINT32_C(2683508708),
        UINT32_C(951073977),
        UINT32_C(3460081988),
        UINT32_C(339124269),
    },
    {
        UINT32_C(130182653),
        UINT32_C(2755946749),
        UINT32_C(542600513),
        UINT32_C(2816103022),
        UINT32_C(1931786340),
        UINT32_C(2044470840),
        UINT32_C(1709908013),
        UINT32_C(2938369043),
        UINT32_C(3640399693),
        UINT32_C(1374470239),
        UINT32_C(2191149676),
        UINT32_C(2637495682),
        UINT32_C(4236394040),
        UINT32_C(2289358846),
        UINT32_C(3833368530),
        UINT32_C(974546524),
    },
    {
        UINT32_C(3306659113),
        UINT32_C(2234814261),
        UINT32_C(1188782305),
        UINT32_C(223782844),
        UINT32_C(2248980567),
        UINT32_C(2309786141),
        UINT32_C(2023401627),
        UINT32_C(3278877413),
        UINT32_C(2022138149),
        UINT32_C(575851471),
        UINT32_C(1612560780),
        UINT32_C(3926656936),
        UINT32_C(3318548977),
        UINT32_C(2591863678),
        UINT32_C(188109355),
        UINT32_C(4217723909),
    },
    {
        UINT32_C(1564209905),
        UINT32_C(2154197895),
        UINT32_C(2459687029),
        UINT32_C(2870634489),
        UINT32_C(1375012945),
        UINT32_C(1529454825),
        UINT32_C(306140690),
        UINT32_C(2855578299),
        UINT32_C(1246997295),
        UINT32_C(3024298763),
        UINT32_C(1915270363),
        UINT32_C(1218245412),
        UINT32_C(2479314020),
        UINT32_C(2989827755),
        UINT32_C(814378556),
        UINT32_C(4039775921),
    },
    {
        UINT32_C(1165280628),
        UINT32_C(1203983801),
        UINT32_C(3814740033),
        UINT32_C(1919627044),
        UINT32_C(600240215),
        UINT32_C(773269071),
        UINT32_C(486685186),
        UINT32_C(4254048810),
        UINT32_C(1415023565),
        UINT32_C(502840102),
        UINT32_C(4225648358),
        UINT32_C(510217063),
        UINT32_C(166444818),
        UINT32_C(1430745893),
        UINT32_C(1376516190),
        UINT32_C(1775891321),
    },
    {
        UINT32_C(1170945922),
        UINT32_C(1105391877),
        UINT32_C(261536467),
        UINT32_C(1401687994),
        UINT32_C(1022529847),
        UINT32_C(2476446456),
        UINT32_C(2603844878),
        UINT32_C(3706336043),
        UINT32_C(3463053714),
        UINT32_C(1509644517),
        UINT32_C(588552318),
        UINT32_C(65252581),
        UINT32_C(3696502656),
        UINT32_C(2183330763),
        UINT32_C(3664021233),
        UINT32_C(1643809916),
    },
    {
        UINT32_C(2922875898),
        UINT32_C(3740690643),
        UINT32_C(3932461140),
        UINT32_C(161156271),
        UINT32_C(2619943483),
        UINT32_C(4077039509),
        UINT32_C(2921201703),
        UINT32_C(2085619718),
        UINT32_C(2065264646),
        UINT32_C(2615693812),
        UINT32_C(3116555433),
        UINT32_C(246100007),
        UINT32_C(4281387154),
        UINT32_C(4046141001),
        UINT32_C(4027749321),
        UINT32_C(111611860),
    },
    {
        UINT32_C(2066954820),
        UINT32_C(2502099969),
        UINT32_C(2915053115),
        UINT32_C(2362518586),
        UINT32_C(366091708),
        UINT32_C(2083204932),
        UINT32_C(4138385632),
        UINT32_C(3195157567),
        UINT32_C(1318086382),
        UINT32_C(521723799),
        UINT32_C(702443405),
        UINT32_C(2507670985),
        UINT32_C(1760347557),
        UINT32_C(2631999893),
        UINT32_C(1672737554),
        UINT32_C(1060867760),
    },
    {
        UINT32_C(2359801781),
        UINT32_C(2800231467),
        UINT32_C(3010357035),
        UINT32_C(1035997899),
        UINT32_C(1210110952),
        UINT32_C(1018506770),
        UINT32_C(2799468177),
        UINT32_C(1479380761),
        UINT32_C(1536021911),
        UINT32_C(358993854),
        UINT32_C(579904113),
        UINT32_C(3432144800),
        UINT32_C(3625515809),
        UINT32_C(199241497),
        UINT32_C(4058304109),
        UINT32_C(2590164234),
    },
    {
        UINT32_C(1688530738),
        UINT32_C(1580733335),
        UINT32_C(2443981517),
        UINT32_C(2206270565),
        UINT32_C(2780074229),
        UINT32_C(2628739677),
        UINT32_C(2940123659),
        UINT32_C(4145206827),
        UINT32_C(3572278009),
        UINT32_C(2779607509),
        UINT32_C(1098718697),
        UINT32_C(1424913749),
        UINT32_C(2224415875),
        UINT32_C(1108922178),
        UINT32_C(3646272562),
        UINT32_C(3935186184),
    },
    {
        UINT32_C(820046587),
        UINT32_C(1393386250),
        UINT32_C(2665818575),
        UINT32_C(2231782019),
        UINT32_C(672377010),
        UINT32_C(1920315467),
        UINT32_C(1913164407),
        UINT32_C(2029526876),
        UINT32_C(2629271820),
        UINT32_C(384320012),
        UINT32_C(4112320585),
        UINT32_C(3131824773),
        UINT32_C(2347818197),
        UINT32_C(2220997386),
        UINT32_C(1772368609),
        UINT32_C(2579960095),
    },
    {
        UINT32_C(3544930873),
        UINT32_C(225847443),
        UINT32_C(3070082278),
        UINT32_C(95643305),
        UINT32_C(3438572042),
        UINT32_C(3312856509),
        UINT32_C(615850007),
        UINT32_C(1863868773),
        UINT32_C(803582265),
        UINT32_C(3461976859),
        UINT32_C(2903025799),
        UINT32_C(1482092434),
        UINT32_C(3902972499),
        UINT32_C(3872341868),
        UINT32_C(1530411808),
        UINT32_C(2214923584),
    },
    {
        UINT32_C(3118792481),
        UINT32_C(2241076515),
        UINT32_C(3983669831),
        UINT32_C(3180915147),
        UINT32_C(3838626501),
        UINT32_C(1921630011),
        UINT32_C(3415351771),
        UINT32_C(2249953859),
        UINT32_C(3755081630),
        UINT32_C(486327260),
        UINT32_C(1227575720),
        UINT32_C(3643869379),
        UINT32_C(2982026073),
        UINT32_C(2466043731),
        UINT32_C(1982634375),
        UINT32_C(3769609014),
    },
    {
        UINT32_C(2195455495),
        UINT32_C(2596863283),
        UINT32_C(4244994973),
        UINT32_C(1983609348),
        UINT32_C(4019674395),
        UINT32_C(3469982031),
        UINT32_C(1458697570),
        UINT32_C(1593516217),
        UINT32_C(1963896497),
        UINT32_C(3115309118),
        UINT32_C(1659132465),
        UINT32_C(2536770756),
        UINT32_C(3059294171),
        UINT32_C(2618031334),
        UINT32_C(2040903247),
        UINT32_C(3799795076),
    },
};

#endif  // TACHYON_C_ZK_AIR_SP1_BABY_BEAR_POSEIDON2_CONSTANTS_H_
